package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 重载的ListFilees方法可以传入一个文件过滤器，然后之将该目录中符合过滤器要求的子项返回
 */
public class ListFileesDemo2 {
    public static void main(String[] args) {
        //获取当前目录中所有名字以”.“开始的子项
        File dir= new File(".");
        if(dir.isDirectory()){
            FileFilter filter=new FileFilter() {
                /*
                实现文件过滤器接口时，必须重写方法accept。这个方法就是过滤器方法
                将参数file看作是要过滤的子项，当该子项符合过滤器要求需要保留时则
                accep方法应当返回true，否则返回false：
                 */
                @Override
                public boolean accept(File file) {  //accept接受
                    String name=file.getName();//获得要过滤的该项内容的名字
                    System.out.println("正在过滤子项："+name);
                 // boolean  starts=name.startsWith(".");
                 //   return starts;
                    return name.startsWith(".");//名字是否以"."开始
                }
            };
           File[] subs= dir.listFiles(filter);
            System.out.println("当前目录中满足条件的子项有："+subs.length+"个");
            for (int i = 0; i <subs.length ; i++) {
               File sub =subs[i] ;
                System.out.println(sub.getName());
            }
        }
    }
}
